openapi: 3.1.0
info:
  title: 'Azure Key Vault [Sample]'
  description: 'A sample connector for the Azure Key Vault service.  This connector is built for the Azure Key Vault REST API.  You can see the details of the API here: https://docs.microsoft.com/rest/api/keyvault/.'
  version: '1.0'
servers:
  - url: https://my-key-vault.vault.azure.net
paths:
  '/secrets/{secret-name}':
    get:
      summary: Get secret
      description: 'Get a specified secret from a given key vault. For details, see: https://learn.microsoft.com/en-us/rest/api/keyvault/secrets/get-secret/get-secret.'
      operationId: GetSecret
      parameters:
        - name: secret-name
          in: path
          required: true
          schema:
            type: string
        - name: api-version
          in: query
          required: true
          schema:
            type: string
            default: '7.0'
          x-ms-visibility: internal
        - name: nonExplodeFormParam
          in: query
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
        - name: explodeFormParam
          in: query
          style: form
          schema:
            type: array
            items:
              type: string
        - name: anotherExplodeFormParam
          in: query
          schema:
            type: array
            items:
              type: integer
      responses:
        '200':
          description: default
    put:
      summary: Create or update secret value
      description: Sets a secret in a specified key vault.
      operationId: SetSecret
      parameters:
        - name: secret-name
          in: path
          required: true
          schema:
            type: string
        - name: api-version
          in: query
          required: true
          schema:
            type: string
            default: '7.0'
          x-ms-visibility: internal
        - name: Accept
          in: header
          description: 'Indicates which content types, expressed as MIME types, the client is able to understand.'
          schema:
            type: string
            default: application/json
          x-ms-visibility: internal
        - name: X-API-Version
          in: header
          description: Requested API version.
          required: true
          schema:
            type: integer
            default: 10
          x-ms-visibility: internal
          x-ms-summary: X-API-Version
        - name: X-Operation-Csv-Ids
          in: header
          description: The comma separated list of operation ids.
          style: simple
          schema:
            type: array
            items:
              type: string
          x-ms-summary: Ids
          x-ms-visibility: advanced
      requestBody:
        content:
          application/json:
            schema:
              required:
                - value
              type: object
              properties:
                attributes:
                  type: object
                  properties:
                    enabled:
                      type: boolean
                      description: Determines whether the object is enabled.
                  description: attributes
                value:
                  type: string
                  description: The value of the secret.
        required: true
        x-bodyName: body
      responses:
        '200':
          description: default
  /FunPlugin/Excuses:
    post:
      summary: Turn a scenario into a creative or humorous excuse to send your boss
      operationId: Excuses
      requestBody:
        description: excuse event
        content:
          text/plain:
            schema:
              type: string
        x-bodyName: body
      responses:
        '200':
          description: The OK response
          content:
            text/plain:
              schema:
                type: string
  '/test-default-values/{string-parameter}':
    put:
      summary: Operation to test default parameter values.
      description: Operation to test default parameter values.
      operationId: TestDefaultValues
      parameters:
        - name: string-parameter
          in: path
          required: true
          schema:
            type: string
            default: string-value
        - name: boolean-parameter
          in: query
          schema:
            type: boolean
            default: true
        - name: integer-parameter
          in: header
          schema:
            type: integer
            format: int32
            default: 281
        - name: long-parameter
          in: header
          schema:
            type: integer
            format: int64
            default: -2814
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                attributes:
                  type: object
                  properties:
                    double-parameter:
                      type: number
                      format: double
                      default: -12.01
                  description: attributes
                float-parameter:
                  type: number
                  format: float
                  default: 12.01
                encoded-characters-parameter:
                  type: string
                  format: byte
                  default: AQIDBAU=
                binary-data-parameter:
                  type: string
                  format: binary
                  default: '23456'
                date-parameter:
                  type: string
                  format: date
                  default: '2017-07-21'
                date-time-parameter:
                  type: string
                  format: date-time
                  default: '2017-07-21T17:32:28.0000000+00:00'
                password-parameter:
                  type: string
                  format: password
                  default: password-value
        required: true
        x-bodyName: body
      responses:
        '200':
          description: The OK response
  /api-with-open-api-extensions:
    get:
      operationId: OpenApiExtensions
      responses:
        '200':
          description: default
      x-boolean-extension: true
      x-double-extension: 1.2345
      x-integer-extension: 12345
      x-string-extension: value1
      x-date-extension: '2024-04-16T00:00:00.0000000+01:00'
      x-datetime-extension: '2024-04-16T18:37:12.1214643+00:00'
      x-array-extension:
        - value1
        - value2
      x-object-extension:
        key1: value1
        key2: value2
components:
  securitySchemes:
    oauth2_auth:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://login.windows.net/common/oauth2/authorize
          tokenUrl: https://login.windows.net/common/oauth2/authorize
          scopes: { }
security:
  - oauth2_auth: [ ]
